Skip to content

Add tests, sequence viewer, loading skeletons, pagination, CI pipeline#1

Merged
marcoloco23 merged 4 commits intomainfrom
claude/continue-development-QgiwL
Mar 1, 2026
Merged

Add tests, sequence viewer, loading skeletons, pagination, CI pipeline#1
marcoloco23 merged 4 commits intomainfrom
claude/continue-development-QgiwL

Conversation

@marcoloco23
Copy link
Copy Markdown
Owner

  • API tests: 42 pytest tests covering all endpoints (search, taxa, graph,
    neighbors, sequences) plus MI distance unit tests
  • Sequence viewer: new /taxa/{id}/sequences page with color-coded DNA bases,
    composition bar chart, and expandable sequence cards
  • Loading skeletons: shimmer animations for taxon detail and graph pages
    replacing plain "Loading..." text
  • Children pagination: /taxa/{id}/children endpoint with offset/limit,
    inline limit of 100 with "load more" button on frontend
  • Mobile responsive: additional breakpoints at 768px and 480px
  • CI pipeline: GitHub Actions workflow for lint, typecheck, test, build
  • Include sequence data in API response for viewer display
  • Fix pyproject.toml build backend (hatchling.backends -> hatchling.build)

https://claude.ai/code/session_01NKQ34hreauk5SGYfSPEWFT

claude added 4 commits March 1, 2026 05:44
- API tests: 42 pytest tests covering all endpoints (search, taxa, graph,
  neighbors, sequences) plus MI distance unit tests
- Sequence viewer: new /taxa/{id}/sequences page with color-coded DNA bases,
  composition bar chart, and expandable sequence cards
- Loading skeletons: shimmer animations for taxon detail and graph pages
  replacing plain "Loading..." text
- Children pagination: /taxa/{id}/children endpoint with offset/limit,
  inline limit of 100 with "load more" button on frontend
- Mobile responsive: additional breakpoints at 768px and 480px
- CI pipeline: GitHub Actions workflow for lint, typecheck, test, build
- Include sequence data in API response for viewer display
- Fix pyproject.toml build backend (hatchling.backends -> hatchling.build)

https://claude.ai/code/session_01NKQ34hreauk5SGYfSPEWFT
Documents architecture, conventions, pipeline order, testing strategy,
type consistency rules, and remaining work for autonomous development.

https://claude.ai/code/session_01NKQ34hreauk5SGYfSPEWFT
- Graph page: node search/filter with autocomplete dropdown and camera zoom
- Pipeline tests: 11 tests for canonical selection scoring logic (53 total)
- MI network endpoint: in-memory cache with 5-minute TTL
- Dockerfile health checks: API, Web, PostgreSQL, Redis
- docker-compose: service health checks with depends_on conditions
- Fix all ruff lint warnings (unused imports, f-string, unused variable)
- Fix Cytoscape type: Stylesheet → StylesheetStyle for newer @types
- Update TODO.md and CLAUDE.md with current status

https://claude.ai/code/session_01NKQ34hreauk5SGYfSPEWFT
Database:
- Migration 002: pg_trgm GIN index for ILIKE search, composite indexes
  for neighbor queries (src_ott_id, distance), canonical checks
  (ott_id, is_canonical), pipeline selection (ott_id, marker), rank filtering
- Connection pooling: 10 persistent + 20 overflow, pre-ping, 5min recycle

Query optimization:
- Lineage: recursive CTE replaces N+1 individual parent lookups
- Subtree: recursive CTE replaces Python BFS with per-level queries
- Canonical check: EXISTS subquery instead of fetching full row
- Search: LIKE pattern escaping, prefix matches ranked first

API:
- GZip middleware compresses responses > 500 bytes
- Updated MockDB to support execute() and exists() for CTE tests

https://claude.ai/code/session_01NKQ34hreauk5SGYfSPEWFT
@marcoloco23 marcoloco23 merged commit 3e56b25 into main Mar 1, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants